package com.ray.test.core;

import com.ray.test.config.DefaultMothedConfig;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ObjectUtils;

import java.util.List;

/**
 * @author bo shen
 * @Description: 校验
 * @Class: CoreUtil
 * @Package com.ray.test.core
 * @date 2019/12/12 18:33
 * @company <p>杭州传化陆鲸科技有限公司</p>
 * @updateRecord time(修改时间)  author(修改人)   desc(修改内容)
 */
@Slf4j
public class CoreUtil {

    public  static boolean isPass(String name, Class<?> clazz, List<String> inMethodNames, List<String> exMethodNames) {
        //全局排除方法
        if (DefaultMothedConfig.isClassMethod(name)) {
            return true;
        }
        //指定排除
        if (!ObjectUtils.isEmpty(exMethodNames) && exMethodNames.indexOf(name) >= 0) {
            log.info("开始执行类:{},方法{}被排除执行", clazz.getName(), name);
            return true;
        }
        //指定执行方法
        if (!ObjectUtils.isEmpty(inMethodNames) && inMethodNames.indexOf(name) < 0) {
            log.info("开始执行类:{},方法{}被排除执行", clazz.getName(), name);
            return true;
        }
        return false;
    }
}
